1. main routine